package site.jlopen.service.intf.datasource;

import java.util.List;

import site.jlopen.domain.datasource.event.KusciaDatasourceEvent;
import site.jlopen.domain.datasource.event.KusciaDatasourceOssEvent;
import site.jlopen.entity.BaseResponse;
import site.jlopen.entity.req.DatasourceReq;

public interface DataSourceService {

	BaseResponse<String> createDataSource(Long userId, DatasourceReq req);

	BaseResponse<String> updateDataSource(DatasourceReq req);
	
	List<KusciaDatasourceEvent> list(Long userId);
	
	BaseResponse<KusciaDatasourceEvent> getDataSource(Long datasourceId);
	
	KusciaDatasourceEvent getDataSource(Long userId, String datasourceCode);

	BaseResponse<String> restatus(Long datasourceId, Long nodeId);

	BaseResponse<String> remove(Long datasourceId);

	BaseResponse<String> bindNode(Long dataSourceId, Long nodeId);

	BaseResponse<String> unBindNode(Long dataSourceId, Long nodeId);

	KusciaDatasourceOssEvent getDatasourceOss(Long dataSourceId);
}
